在接觸資安相關課程與資料的過程中,我常看到 SOC、SIEM、IDS、MITRE ATT&CK 等名詞,但對於這些工具和技術實際上如何串在一起,以及資安人員收到一筆告警後到底要如何分析,我其實沒有完整的概念。
另一方面,這幾年生成式 AI 與大型語言模型(LLM)快速發展,我也很好奇:如果把 AI 應用在資安事件分析上,能不能協助我們更快理解一筆看起來很複雜的資安告警?
因此,我想利用這次 30 天鐵人賽,從學生與初學者的角度,一邊學習 SOC 所需要的基本知識,一邊實際動手開發一套 AI 輔助 SOC 資安事件分析平台。
這 30 天預計從 SOC、IDS、Suricata 與 MITRE ATT&CK 等資安基礎開始,再逐步學習 FastAPI、React、資料庫與 LLM API,最後嘗試將這些技術整合成一個 Web 系統,讓系統可以讀取資安事件,並利用 AI 協助產生事件摘要、風險等級、可能的攻擊行為、MITRE ATT&CK 對應,以及初步的處置建議。
我也希望透過這 30 天記錄自己從「知道這些名詞」到「真的把它們串成一套系統」的過程。
首先,我今天第一個要搞懂的就是:SOC 到底在做什麼?
SOC(Security Operations Center,資安營運中心)是企業內負責資訊安全監控與應變的核心單位。
在現代企業架構中,舉凡伺服器、防火牆、入侵偵測系統(IDS)以及端點設備,每分每秒都會持續產生大量的 Log 與告警。SOC 的主要職責,就是集中收集這些資訊,並持續監控網路環境,從中識別出潛在的異常或攻擊行為。
例如,當系統收到一筆來自 IDS 的告警:
ET SCAN Possible Nmap User-Agent Observed
Source IP: 192.168.1.20
Destination IP: 192.168.1.10
Destination Port: 80
Severity: 2
單純看這段內容,只能得知:「網路中出現了針對特定主機的掃描行為」。
然而,在資安事件分析的實務流程中,收到 Alert 僅僅是第一步。接下來必須進一步判斷:
由此可知,「偵測到 Alert」與「完整理解並處理資安事件」是兩個不同的層次。而這也是為什麼需要透過系統化工具與自動化流程,來輔助資安人員進行高效的事件分析。
面對大量的原始 Log 與告警,往往需要一定的資安知識與經驗,才能快速理解事件內容。因此我想知道能否利用生成式 AI(LLM),協助簡化資安事件的理解與初步分析流程?
當系統接收到前述的告警時,希望透過 AI 將原本較難閱讀的事件資訊,轉換成較直覺且結構化的內容,
例如:
事件摘要:
可能存在網路偵察(Network Reconnaissance)行為
風險等級:
Medium
可能攻擊類型:
Network Scanning
MITRE ATT&CK:
T1046 - Network Service Discovery
建議:
1. 確認來源 IP 是否為合法主機
2. 查看相同來源 IP 是否有其他異常事件
3. 檢查目標主機近期活動
4. 若確認為惡意來源,再進一步採取阻擋措施
AI 的角色定位:SOC Analyst Assistant
在這套系統中,我希望 AI 的定位並不是取代資安人員做出最終判斷,而是作為資安分析師助理:
目前預計的系統架構如下:
Security Event
↓
Suricata
↓
EVE JSON
↓
FastAPI
↓
Event Parser
↓
LLM
↓
MITRE ATT&CK
↓
React SOC Dashboard
接下來 30 天,我會逐步學習這些技術。
前面先了解 SOC、IDS、SIEM、Suricata 與 MITRE ATT&CK;接著開始學習 FastAPI、REST API、React 與 SQLite,建立基本 Web 系統。
之後再加入 LLM,嘗試讓 AI 自動產生事件摘要、風險判斷、MITRE ATT&CK 對應及處置建議。
最後希望可以使用 Brute Force、Port Scan、Web Attack 等不同案例來測試整個系統。
因為這次不是只想讀理論,而是希望 30 天後真的完成一個系統,所以第一天先建立專案的基本架構。
目前每個資料夾還是空的,不過預計未來分別放:
今天先把整個專案的方向和架構建立起來,接下來再一天一天把功能加進去。
SOC 不只是「偵測攻擊」,更重要的是如何從大量資安資訊中找出值得注意的事件,並進一步分析與處理。
這次想嘗試的方向是能不能利用 AI,降低理解資安事件的門檻,並協助進行初步事件分析?